通过python直接上传文件(文件夹或目录)到阿里云oss 您所在的位置:网站首页 将本地文件上传到服务器 python 通过python直接上传文件(文件夹或目录)到阿里云oss

通过python直接上传文件(文件夹或目录)到阿里云oss

2024-07-09 15:00| 来源: 网络整理| 查看: 265

可以直接将本地的文件夹批量上传到指定的阿里云oss 存储目录里。

这里需要使用自己阿里云的AccessKeyID 和AccessKeySecret,没有的直接登录阿里云点击自己的头像便可以创建获取。

安装阿里云提供的oss2包:

pip install oss2

直接上代码

import os import sys import oss2 #本地文件夹路径目录 basedir='D:\file' #阿里云存储目录,要保证和下面的project_name相同 projectList = ['test\'] #本地文件夹 dirList = [basedir] bucket='' #不需要填,声明变量而已 ossDir='' basedir='' #将accessKeyId 和 accessKeySecret替换自己的 ossAuth=oss2.Auth('accessKeyId','accessKeySecret') #bucketName ossBucket = None def uploadFile2Oss(pro): if pro in projectList: print('>>>>>>>>>>>>>>>>>Upload:'+ pro +'---Start!') global ossDir,basedir,bucket,ossBucket ossDir, basedir= pro,dirList[projectList.index(pro)] #填写自己的阿里云bucket名称 bucket = 'your-prod-backend' #http://oss-cn-hangzhou.aliyuncs.com替换为自己的阿里云地址 ossBucket = oss2.Bucket(ossAuth,'http://oss-cn-hangzhou.aliyuncs.com',bucket) listFile(basedir) else: print('请检查填写的bucket名称和地址是否正确') def uploadFile(file): # remoteName为oss目录名称,file为本地上传目录名称 remoteName = ossDir + file.replace(basedir,'').replace('\\','/') print ('uploading..',file,'remoteName',remoteName) result=ossBucket.put_object_from_file(remoteName,file) #文件上传成功http状态输出200 print('http status: {0}'.format(result.status)) def listFile(dir): fs=os.listdir(dir) for f in fs: file=dir+'\\'+f; if os.path.isdir(file): listFile(file) else: uploadFile(file) if __name__ == '__main__': # 填写oss的存储路径 project_name = 'test/' uploadFile2Oss(project_name)

参考: https://blog.csdn.net/xxsstf/article/details/85222836?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有